home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
86xx
/
8604.d64
/
listing 3
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
4KB
|
149 lines
10 .TAB(1,4;IN HYPRA-ASS: .LI 1,4
20 .STOP$C000;IN HYPRA-ASS: .BA $C000
30 ;*************************************
40 ; VERSCHACHTELTE SCHLEIFEN ANWENDUNG
50 ; ALLGEMEINER BILDSCHIRMRAHMEN
60 ;*************************************
70 ;
80 ;LAGERPLATZ FUER DIE ZEICHEN: (HPYRA-ASS JEWEILS: .EQ CODE1 = $1B USW.)
90 .REMCODE1=$1B;ZEICHEN (null) = 4F
100 .REMCODE2=$1C;ZEICHEN USR = 77
110 .REMCODE3=$1D;ZEICHEN (null) = 50
120 .REMCODE4=$1E;ZEICHEN FN = 74
130 .REMCODE5=$1F;ZEICHEN THEN = 6A
140 .REMCODE6=$20;ZEICHEN (null) = 4C
150 .REMCODE7=$21;ZEICHEN AND = 6F
160 .REMCODE8=$22;ZEICHEN SQR = 7A
170 ;VEKTOREN FUER BILDCHIRM- UND FARB-RAM:
180 .REMSCREEN=$FB;BILDSCHIRMSTART
190 .REMCOLOR=$FD;FARBRAMSTART
200 ;ZAEHLER:
210 .REMHORIZ=$23;ZAEHLER FUER HORIZONTALE
220 .REMVERT=$24;ZAEHLER FUER VERTIKALE
230 ;DER FARBCODE WIRD NUR IM X-REGISTER GESPEICHERT
240 ;
250 ;DEFINITION EINES MAKRO: AKTUELL
260 ;IN HYPRA-ASS STATTDESSEN: .MA AKTUELL(SCREEN,COLOR)
270 .VERIFYAKTUELL(SCREEN,COLOR)
280 SPC(
290 CONT
300 DIMSCREEN
310 NEXTSCREEN
320 FORSCREEN+1
330 DIM#$00
340 NEXTSCREEN+1
350 SPC(
360 CONT
370 DIMCOLOR
380 NEXTCOLOR
390 FORCOLOR+1
400 DIM#$00
410 NEXTCOLOR+1
420 INPUT##$00
430 .PRINT#;IN HYPRA-ASS: .RT
440 ;
450 ;NUN GEHTS LOS:
460 ;
470 ;-------------- INITIALISIERUNG ------------
480 ;
490 DATA#$02;FARBCODE INS X-REGISTER
500 FOR#$4F;ALLE ZEICHEN IN DIE SPEICHER PACKEN
510 NEXTCODE1
520 FOR#$77
530 NEXTCODE2
540 FOR#$50
550 NEXTCODE3
560 FOR#$74
570 NEXTCODE4
580 FOR#$6A
590 NEXTCODE5
600 FOR#$4C
610 NEXTCODE6
620 FOR#$6F
630 NEXTCODE7
640 FOR#$7A
650 NEXTCODE8
660 FOR#$00;LSB BILDSCHIRMSTART
670 NEXTSCREEN
680 FOR#$04;MSB BILDSCHIRMSTART
690 NEXTSCREEN+1
700 FOR#$00;LSB FARBRAMSTART
710 NEXTCOLOR
720 FOR#$D8;MSB FARBRAMSTART
730 NEXTCOLOR+1
740 FOR#39;STELLENZAHL PRO ZEILE
750 NEXTHORIZ
760 FOR#23;ZEILENZAHL-2
770 NEXTVERT
780 INPUT##$00;ZAEHLER AUF NULL
790 ;
800 ;------------ NUN KOMMEN DIE JOBS: -------------
810 ;JOB 1: BESCHREIBEN DER OBEREN ZEILE
820 FORCODE1;1.ZEICHEN LINKS OBEN
830 NEXT(SCREEN),Y;EINSCHREIBEN
840 PRINT#;FARBCODE
850 NEXT(COLOR),Y;IN FARBRAMSTELLE SCHREIBEN
860 SYS;ZAEHLER ERHOEHEN
870 MARKE1 FORCODE2;2.ZEICHEN EINLADEN
880 NEXT(SCREEN),Y;EINE KLEINE SCHLEIFE
890 PRINT#
900 NEXT(COLOR),Y;FARBRAM BESCHREIBEN
910 SYS
920 LOADHORIZ;IST Y SCHON > 38 ?
930 INTMARKE1;WENN NICHT, WEITERMACHEN
940 FORCODE3;LETZTES ZEICHEN OBERE ZEILE
950 NEXT(SCREEN),Y;NACH RECHTS OBEN SCHREIBEN
960 PRINT#
970 NEXT(COLOR),Y;WIEDER FARBCODE EINTRAGEN
980 SYS
990 ;DAS WAR DIE ERSTE ZEILE. NUN KOMMEN DIE SEITENLINIEN
1000 ;JOB 2: BESCHREIBEN DER SEITEN
1010 ;
1020 MARKE2
1030 .POKEAKTUELL(SCREEN,COLOR);AUFRUF DES MAKRO
1035 ;IN HYPRA-ASS: ...AKTUELL(SCREEN,COLOR)
1040 ;DAMIT WERDEN DIE VEKTOREN SCREEN UND COLOR AKTUALISIERT
1050 FORCODE4;4.ZEICHEN FUER LINKEN RAND
1060 NEXT(SCREEN),Y;EINTRAGEN
1070 PRINT#;UND DEN FARBCODE
1080 NEXT(COLOR),Y;EBENFALLS
1090 MARKE3 SYS;ZAEHLER SCHNELL HOCHZAEHLEN
1100 LOADHORIZ;IST Y SCHON > 38 ?
1110 INTMARKE3;WENN NICHT, WEITERZAEHLEN
1120 FORCODE5;SONST 5.ZEICHEN FUER RECHTEN RAND
1130 NEXT(SCREEN),Y;EINTRAGEN
1140 PRINT#;UND FARBCODE
1150 NEXT(COLOR),Y;IN FARBRAM
1160 SYS
1170 SAVEVERT;MITZAEHLEN DER ZEILEN
1180 USRMARKE2;NAECHSTE ZEILE, WENN NOCH NICHT NULL
1190 ;ANSONSTEN SIND NUN BEIDE SEITENLINIEN VORHANDEN
1200 ;JOB 3: BESCHREIBEN DER LETZTEN ZEILE
1210 ;DAZU NOCHMAL MAKROAUFRUF ZUM AKTUALISIEREN DER VEKTOREN
1220 .POKEAKTUELL(SCREEN,COLOR);DIES IST DER AUFRUF
1225 ;IN HYPRA-ASS WIEDER: ...AKTUELL(SCREEN,COLOR)
1230 ;NUN KOMMT DER JOB:
1240 FORCODE6;6.ZEICHEN LINKS UNTEN
1250 NEXT(SCREEN),Y;EINSCHREIBEN
1260 PRINT#;WIEDER DEN FARBCODE
1270 NEXT(COLOR),Y;INS FARBRAM SCHREIBEN
1280 SYS;UND DEN ZAEHLER ERHOEHEN
1290 MARKE4 FORCODE7;7.ZEICHEN
1300 NEXT(SCREEN),Y;EINTRAGEN. KLEINE SCHLEIFE
1310 PRINT#
1320 NEXT(COLOR),Y;FARBRAM
1330 SYS
1340 LOADHORIZ;SCHON > 38 ?
1350 INTMARKE4;WENN NICHT, WEITERMACHEN
1360 FORCODE8;SONST LETZTES ZEICHEN
1370 NEXT(SCREEN),Y;NACH RECHTS UNTEN SCHREIBEN
1380 PRINT#;UND AUCH DEN FARBCODE
1390 NEXT(COLOR),Y;INS FARBRAM EINTRAGEN
1400 ;
1410 ;DAMIT IST DIE ARBEIT GETAN
1420 ;--------------- AUSGANG EINFACH DURCH BRK (MONITOR!) ---------
1430 ;
1440 OR
1450 ;
1460 .TO1,4;IN HYPRA-ASS: .SY 1,4